package noteModel

import "forum/app/model"

// GetNoteList 获取帖子列表
func GetNoteList(params map[string]interface{}) [][]any {

	db := model.CURD{DB: model.DB}

	noteList, err := db.Table("note").
		Fields("id,title,content,img_arr,created_time,updated_time,status,user_id").
		Where(params).
		Select()

	if err != nil {
		return nil // 将错误抛出
	}

	// 创建二维数组存储结果
	var data [][]interface{}

	for noteList.Next() {
		var title, content, img_arr string
		var id, created_time, updated_time, status, user_id int
		err = noteList.Scan(&id, &title, &content, &img_arr, &created_time, &updated_time, &status, &user_id)
		if err != nil {
			// 处理错误
			continue
		}
		// 将每行数据作为一维数组添加到二维数组中
		lineData := []interface{}{id, title, content}
		data = append(data, lineData)
	}
	return data
}

// NoteCreate 创建笔记
func NoteCreate(data map[string]interface{}) int64 {
	db := model.CURD{DB: model.DB}
	id, err := db.Table("note").Insert(data)
	if err != nil {
		panic("创建失败")
	}
	return id
}

// NoteUpdate 编辑帖子
func NoteUpdate(data map[string]interface{}) int64 {
	return 0
}
